// 1.字面量类型的基本使用
const name: "why" = "why"
let age: 18 = 18

// 2. 将多个字面量类型联合起来 |
type Direction = "left" | "right" | "up" | "down"
const d1: Direction = "left"

// 栗子：封装请求方法
type MethodType = "get" | "post"
function request(url: string, method: MethodType) {}

request("http://codercba.com/api/aaa", "post")

// TS细节
// const info1 = {
//     url: "xxx",
//     method: "post",
// }
// 错误：info.method获取的是string类型
// request(info.url, info.method)

// 解决方案一：info.method进行类型断言
// request(info.url, info.method as "post")

// 解决方案二：直接让info对象类型是一个字面量类型
const info2 = {
    url: "xxx",
    method: "post",
} as const
// xxx 本身就是一个string
request(info2.url, info2.method)

export {}
